package com.alibaba.citrus.ots.platform.enhance.repository;

import com.alibaba.citrus.ots.platform.enhance.repository.model.diff.common.SalesOrderLineDTO;
import com.alibaba.citrus.ots.platform.enhance.repository.model.diff.activity.QuerySalesOrderLineParam;
import com.alibaba.lattice2.epoch.sdk.model.Result;

import java.util.List;

/**
 * @author hanguo
 * @date 2022/1/19
 * @Description 销售子单查询repository
 */
public interface SalesOrderLineQueryServiceRepository {

    /**
     * 从活动记录表中的 sequenceNO， 子单 ID 查询销售子单 ---》获取销售子单
     * @param querySalesOrderLineParam
     * @return
     */
    Result<List<SalesOrderLineDTO>> querySalesOrderLine(QuerySalesOrderLineParam querySalesOrderLineParam);

    /**
     * 从销售子订单中批量查询带活动的数据
     * @param orderLineDTO
     * @return
     */
    Result<List<SalesOrderLineDTO>> querySalesOrderLineByGmtModifyAsc(QuerySalesOrderLineParam orderLineDTO);


    /**
     * 根据销售主单号批量查询
     * @param mainOrderId
     * @return
     */
    List<SalesOrderLineDTO> querySalesOrderLineByOrderId(String mainOrderId);

    /**
     * 批量查询销售子单数据（用于销售子单状态对账）
     * @param orderLineParam
     * @return
     */
    Result<List<SalesOrderLineDTO>> querySalesOrderLineByGmtModifyDesc(QuerySalesOrderLineParam orderLineParam);
}
